//! @file   lc_exception.cpp
//! @brief  
//! @author Sayan Chaliha
//! @date   November, 2011
//!
//! 

#include <lc_exception.h>

namespace cyan {
  Exception::Exception() throw() {
  }

  Exception::~Exception() throw() {
  }

  const Char* Exception::what() const throw() {
    return TEXT("cyan::Exception");
  }

  LogicException::LogicException(const String& str) throw()
      : errorMessage_(str) {
  }

  LogicException::~LogicException() throw() {
  }

  const Char* LogicException::what() const throw() {
    return this->errorMessage_;
  }

  DomainException::DomainException(const String& str) throw()
      : LogicException(str) {
  }

  DomainException::~DomainException() throw() {
  }

  InvalidArgumentException::InvalidArgumentException(const String& str)
      throw() : LogicException(str) {
  }

  InvalidArgumentException::~InvalidArgumentException() throw() {
  }

  LengthException::LengthException(const String& str) throw()
      : LogicException(str) {
  }

  LengthException::~LengthException() throw() {
  }

  OutOfRangeException::OutOfRangeException(const String& str) throw()
      : LogicException(str) {
  }

  OutOfRangeException::~OutOfRangeException() throw() {
  }

  RuntimeException::RuntimeException(const String& str) throw()
      : errorMessage_(str) {
  }

  RuntimeException::~RuntimeException() throw() {
  }

  const Char* RuntimeException::what() const throw() {
    return this->errorMessage_;
  }

  NullPointerException::NullPointerException(const String& str) throw()
      : RuntimeException(str) {
  }

  NullPointerException::~NullPointerException() throw() {
  }

  OutOfMemoryException::OutOfMemoryException(const String& str) throw()
      : RuntimeException(str) {
  }

  OutOfMemoryException::~OutOfMemoryException() throw() {
  }

  InterruptException::InterruptException(const String& str) throw()
      : RuntimeException(str) {
  }

  InterruptException::~InterruptException() throw() {
  }

  TimedOutException::TimedOutException(const String& str) throw()
      : RuntimeException(str) {
  }

  TimedOutException::~TimedOutException() throw() {
  }
}
